In many wireless communication systems including one or more transmitters and one or more receivers, a frame structure is used for data transmission between a transmitter and a receiver. For example, the IEEE 802.11 standard uses frame aggregation in a Media Access Control (MAC) layer and a physical (PHY) layer.
In a typical wireless transmitter, a MAC layer receives a MAC Service Data Unit (MSDU) and attaches a MAC header thereto, in order to construct a MAC Protocol Data Unit (MPDU). The MAC header includes information such as a source address (SA) and a destination address (DA). The MPDU is a part of a PHY Service Data Unit (PSDU) and is transferred to a PHY layer in the transmitter to attach a PHY header (i.e., a PHY preamble) thereto to construct a PHY Protocol Data Unit (PPDU). The PHY header includes parameters for determining a transmission scheme including a coding/modulation scheme.
The IEEE 802.11 Task Group n (TGn) provides a high data rate wireless local area network (WLAN) standard (the IEEE 802.11n) which allows a maximum throughput of at least 100 Mbps (at the MAC layer). One TGn specification (IEEE P802.11n/D1.0 (March 2006), “Amendment: Wireless LAN MAC and PHY specifications: Enhancement for Higher Throughputs”), incorporated herein by reference) provides two types of aggregation schemes, Aggregated MSDU (A-MSDU and Aggregated MPDU (A-MPDU), for communication between a wireless sender (a data transmitter) and a wireless receiver (a data receiver).
FIG. 1 shows the structure of a MPDU 10 including an A-MSDU 12 as a payload. The A-MSDU 12 includes multiple MSDUs 14 joined together to create a single larger MSDU that is transported in the MPDU 10. Thus, the A-MSDU 12 aggregates the multiple MSDUs 14 for transmission of a receiver in a single MPDU 10. This improves the efficiency of the MAC layer, particularly when there are many small MSDUs 14 such as VoIP packets or TCP acknowledgements.
FIG. 2 shows the structure of an A-MPDU 20 which aggregates multiple MPDUs 10 together and transports them in a single PSDU 22 (Physical Layer Convergence Procedure (PLCP) Service Data Unit). In the PSDU 22, the MPDUs 10 are separated by the MPDU delimiters 24.
FIG. 3 shows an example of a wireless communication scenario 25 between a sender and a receiver using an A-MPDU scheme. The sender transmits an A-MPDU 20 and a Block Acknowledgement Request (BAR) 26 to the receiver over a wireless channel. In this example, the A-MPDU 20 can aggregate a maximum of 64 MPDUs 10. Upon receipt of the A-MPDU 20 followed by the BAR 26, the receiver generates a Block Acknowledgement (BA) 28 which indicates the receipt status of each MPDU 10 in the A-MPDU 20. The receiver then transmits the BA 28 to the sender. The BA 28 can include positive acknowledgments (Ack) or negative acknowledgments (Nack) for the MPDUs 10 in the received A-MPDU 20.
It is possible for a MPDU 10 to include an A-MSDU 12. However, because the acknowledgment in the BA 28 is per MPDU basis, the receiver has no means to acknowledge different MSDUs 14 (or sub frames of an A-MSDU 12) in a MPDU 10.
FIGS. 4A-B illustrate examples of conventional scenarios of using A-MSDUs within an A-MPDU sequence. In FIG. 4A, the sender transmits an A-MPDU 20 including multiple MPDUs 10 (i.e., MPDU0, . . . , MPDU63), wherein each MPDU 10 includes an A-MSDU 12 including multiple MSDUs 14 (i.e., MSDU0, . . . , MSDU3). The sender also transmits a BAR 26 for the A-MPDU 20. The receiver receives MSDU0 (i.e., the first MSDU (or sub frame) of MPDU0) in error. Since the receiver cannot selectively request for the retransmission of the erroneous MSDU0, the receiver requests for the retransmission of the entire MPDU0 with a Nack. FIG. 4B shows retransmission of the A-MSDU 12, including all of the MSDUs in the MPDU0 by the sender. However this time, MSDU3 in MPDU0 is received in error. Again, since the receiver cannot selectively request for the retransmission of the erroneous MSDU3, the receiver requests for the retransmission of the entire MPDU0 with a Nack. This process continues until all of the MSDUs of an A-MSDU are correctly acknowledged or the sender reaches a maximum retransmit limit. This retransmission of error-free MSDUs is highly inefficient. Moreover, the apparent benefit of aggregation decreases as the packet loss rate increases.